#include<stdio.h>
#include<unistd.h>
#include<pthread.h>
void* thread_main(void *arg);
//创建线程
//编译时需要添加-lpthread选项声明，连接线程库
int main(int argc,char *argv[])
{
	pthread_t t_id;//线程ID
	int thread_param=5;//调用函数时包含的传递参数信息
	//int pthread_create(pthread_t *restrict thread,const pthread_attr_t *restrict attr,void*(*start_routine)(void*),void *restrict arg)
	//start_routine相当于线程main函数的
	//arg为调用函数时传递的参数
	if(pthread_create(&t_id,NULL,thread_main,(void*)&thread_param)!=0)
	{
		puts("pthread_create() error");
		return -1;
	}
	//防止进程结束，因为这里不知道线程何时结束，简单的处理成睡眠延迟，后面有更好的方法
	sleep(10);
	puts("end of main");
	return 0;
}
void* thread_main(void *arg)
{
	int i;
	//arg使用传递过来的参数
	int cnt=*((int *)arg);
	for(i=0;i<cnt;i++)
	{
		sleep(1);
		puts("running thread");
	}
	return NULL;
}

